#pragma once
#include "TimeSys.h"
#include "CoordSys.h"
#include "literal.h" 

/* 电离层延迟改正类 */
class LonosphereCorrection {
public:
    /* 构造函数 */
    LonosphereCorrection();
    
    /* 析构函数 */
    ~LonosphereCorrection();

    /* 计算电离层延迟(Klobuchar模型) - XYZ坐标版本 */
    double calculateIonosphereDelayKlobuchar(const BaseT& time, const XYZ& receiverPos, const XYZ& satellitePos);
   
    /* 计算电离层延迟(Klobuchar模型) - BLH坐标版本 */
    double calculateIonosphereDelayKlobuchar(const BaseT& time, const BLH& receiverPos, const XYZ& satellitePos);
 
    /* 测试函数 */
    void test();

private:
    /* Klobuchar模型参数 */
    double alpha[5];
    double beta[5];
};